package com.engine.salary.entity.salaryBill.dto;

import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.annotation.*;
import com.engine.salary.enums.auth.AuthCheckTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Set;

/**
 * @Description: 工资单模板
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@SalaryTable(pageId = "a4f85287-d36a8210dc050a5465fa852f9ecaa107", operates = {
        @SalaryTableOperate(index = "0", text = "编辑" ),
        @SalaryTableOperate(index = "1", text = "复制" ),
        @SalaryTableOperate(index = "2", text = "删除" ),
        @SalaryTableOperate(index = "3", text = "操作日志" )
})
@ElogTransform(name = "工资单模板")
@Auth(page = "salaryBill", checkType = AuthCheckTypeEnum.SOB)
public class SalaryTemplateListDTO {

    //主键id
    @SalaryTableColumn(column = "id", display = false)
    @TableTitle(title = "id", dataIndex = "id", key = "id",display = false)
    @ElogTransform(name = "id")
    private Long id;

    //工资单模板名称
    @SalaryTableColumn(text = "工资单模板名称", width = "20%", column = "name")
    @TableTitle(title = "工资单模板名称", dataIndex = "name", key = "name")
    @ElogTransform(name = "工资单模板名称")
    private String name;

    //补发工资单模板名称
    @SalaryTableColumn(text = "补发工资单模板名称", width = "20%", column = "replenishName")
    @TableTitle(title = "补发工资单模板名称", dataIndex = "replenishName", key = "replenishName")
    @ElogTransform(name = "补发工资单模板名称")
    private String replenishName;


    //所属薪资账套
    @SalaryTableColumn(text = "所属薪资账套", width = "20%", column = "salarySob")
    @TableTitle(title = "所属薪资账套", dataIndex = "salarySob", key = "salarySob")
    @ElogTransform(name = "所属薪资账套")
    private String salarySob;

    //默认使用
    @SalaryTableColumn(text = "默认使用", width = "20%", column = "useType")
    @TableTitle(title = "默认使用", dataIndex = "useType", key = "useType")
    @ElogTransform(name = "默认使用")
    private String useType;

    // 备注
    @SalaryTableColumn(text = "备注", width = "20%", column = "description")
    @TableTitle(title = "备注", dataIndex = "description", key = "description")
    @ElogTransform(name = "备注")
    private String description;

    // 薪资账套id
    private Long salarySobId;


    private Set<String> opts;
}
